package Testdmo3;

import java.util.InputMismatchException;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:周次煜
 * Date: 2024-03-19
 * Time：16:43
 */




//class Test {
//
//        static int i = 0;
//
//    public int aMethod(){
//
////       静态成员变量不需要在方法中
////        static int i = 0;
//        i++;
//        return i;
//    }0
//    public static void main(String args[]){
//        Test test = new Test();
//        test.aMethod();
//        int j = test.aMethod();
//        System.out.println(j);
//    }
//}



//class Test1 {
//
//    public static void func(int n) {
//        func(n-1);
//    }
//    public static void main(String[] args) {
//       func(3);
//    }
//}


class Test2 implements Cloneable{
    private String name;
    private  int age;

    public Test2(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    public static void main(String[] args)throws CloneNotSupportedException {
        Test2 t1=new Test2("小明",19);
        Test2 t2=(Test2) t1.clone();
    }
}


//class Test3 {
//    public static void main(String[] args) {
//        boolean b=true;
//        if (!b) {
//            System.out.println("处理登入异常！");
//            System.exit(-1);
//        } else {
//            System.out.println("处理匹配异常");
//            System.exit(-2);
//
//        }
//
//
//        // ....
//    }
//
//
//
//}


//class Test4 {
//
//    public static int func (int[] arr,int x) {
//        if (arr==null) {
//            throw new NullPointerException("空指针异常！");
//        } else if (x<0 || x>arr.length-1) {
//            throw new ArrayIndexOutOfBoundsException("数组越界异常！");
//        }
//            return arr[x];
//
//    }
//
//    public static void main(String[] args) {
//        int[] array={1,2,3};
//        func(array,3);
//    }
//}



//class Test5 {
//    public static void func(int[] array) throws Exception {
//        if(array == null) {
//            throw new Exception("传个参数看看..."+array);
//        }
//    }
//
//    public static void main(String[] args) throws Exception{
//        int[]arr=null;
//        func(arr);
//    }
//}



//class Test6 {
//
//    public static void func1 (int[] arr,int x) {
//        try {
//            System.out.println(arr[x]);
//        } catch (NullPointerException e1) {
//            e1.printStackTrace();
//            System.out.println("空指针异常");
//        } catch (ArrayIndexOutOfBoundsException e2) {
//
//            e2.printStackTrace();
//            System.out.println("数组越界异常");
//        } catch (InputMismatchException e3) {
//            e3.printStackTrace();
//            System.out.println("输入不匹配异常");
//        } catch (ArithmeticException e4) {
//            e4.printStackTrace();
//            System.out.println("算术异常");
//        } catch (Exception e) {
//            e.printStackTrace();
//            System.out.println("其他异常");
//        } finally {
//            arr=null;
//            System.out.println("数组空间已释放");
//        }
//    }
//
//    public static void main(String[] args) {
//            int [] array={1,2,3};
//            func1(array,6);
//    }
//}

//class Test {
//
//    public static void main(String[] args) {
//        try{
//            int[] arr = {1,2,3};
//            arr[100] = 10;
//            arr[0] = 10;
//        }catch (ArrayIndexOutOfBoundsException e){
//            e.printStackTrace();
//            System.out.println(e);
//        }finally {
//            System.out.println("finally中的代码一定会执行");
//        }
//        System.out.println("如果没有抛出异常，或者异常被处理了，try-catch后的代码也会执行");
//    }
//}



//class Test {
//
//
//    public static int func() {
//        try {
//            return 10;
//        } finally {
//            return 20;
//        }
//    }
//
//        public static void main(String[] args) {
//            System.out.println(func());
//        }
//
//
//}


//class Test {
//    public static void main(String[] args) {
//        func();
//        System.out.println("after try catch");
//    }
//    public static void func() {
//        int[] arr = {1, 2, 3};
//        System.out.println(arr[100]);
//    }
//}


class NameException  extends Exception{

    public NameException(String message) {
        super(message);
    }
}

class PasswordException  extends Exception{

    public PasswordException(String message) {
        super(message);
    }
}

class Test1 {
    public static void func2 (String name ,String num) throws NameException,PasswordException{
        String n="mypp";
        String m="123456";

        if (!name.equals(n)) {
            throw new NameException("用户名错误！");
        }

        if (!num.equals(m)) {
            throw  new PasswordException("密码错误！");
        }
    }

    public static void main(String[] args) {
        try {
            func2("mypp","123");
        } catch (NameException e1) {
            e1.printStackTrace();
            System.out.println("用户名！！！！");
        } catch (PasswordException e2) {
            e2.printStackTrace();
            System.out.println("密码！！！！");
        }
    }

}